home *** CD-ROM | disk | FTP | other *** search
/ APDL Eductation Resources / APDL Eductation Resources.iso / programs / keyboard / deskeys / !DesKeys / !Runimage (.txt) < prev    next >
Encoding:
RISC OS BBC BASIC V Source  |  1995-07-19  |  5.7 KB  |  338 lines

  1.  ><Keys$Dir>.!Runimage
  2.  ON ERROR PROCerr:END
  3.  "Error ";
  4. $;" at line ";
  5. setup
  6. onbar%=
  7. quit%=
  8.  "Wimp_Poll",0,buf% 
  9.  reason%,polldat%
  10.  reason% 
  11.  redraw
  12.  "Wimp_OpenWindow",,buf%
  13.  "Wimp_CloseWindow",,buf%
  14. chmouse
  15. menusel
  16.  WHEN 17:PROCusrmess
  17. usrmess
  18.  quit%
  19. shoff
  20.  ERROR 999,"FileSwitch Reset"
  21.  "Wimp_CloseDown",Thandle%,&4B534154
  22.  "OS_Exit"
  23. $;" AT LINE ";
  24. quit%=
  25. !bl%=
  26. $(bl%+4)=
  27. !fl%=0
  28.  "Wimp_ReportError",bl%,fl%,wtask$
  29. setup
  30.  "Wimp_Initialise",200,&4B534154,wtask$ 
  31.  Vers%,Thandle%
  32.  "Wimp_OpenTemplate",,"<Keys$Dir>.Templates"
  33. '%info%=
  34. createwind("Info",infows%)
  35. ((desk%=
  36. createwind("Deskeys",deskws%)
  37.  "Wimp_CloseTemplate"
  38. wtask$="Deskeys"
  39.  menu% &110
  40.  infows% 4096,ws% &4000,ico% &100,buf% &256
  41.  deskws% 4096,bl% 160,fl% 16,polldat% &100
  42. curws%=ws%
  43. shifton%=
  44. capson%=
  45. ctrlon%=
  46. alton%=
  47. createwind(name$,point%)
  48.  handle%
  49.  "Wimp_LoadTemplate",,point%,ws%,curws%+&4000,-1,name$,0 
  50.  ,,ws%
  51.  "Wimp_CreateWindow",,point% 
  52.  handle%
  53. !point%=handle%
  54. =handle%
  55.  ihand%
  56. B4!ico%=-1:ico%!4=0:ico%!8=0:ico%!12=64:ico%!16=68
  57. ico%!20=&7000311A
  58.  ico%!24 12
  59. $(ico%!24)="!deskeys"
  60. ico%!28=1
  61. ico%!32=12
  62.  "Wimp_CreateIcon",,ico% 
  63.  ihand%
  64. =ihand%
  65. chmouse
  66. x%=!buf%:y%=buf%!4
  67.  buf%!12=-2 
  68.  buf%!8=4 
  69. opendesk
  70.  buf%!12=-2 
  71.  buf%!8=2 
  72. mmenu
  73.  buf%!16 
  74. sendchar(27)
  75. sendchar(96)
  76. sendchar(49)
  77. sendchar(50)
  78. sendchar(51)
  79. sendchar(52)
  80. sendchar(53)
  81. sendchar(54)
  82. sendchar(55)
  83. sendchar(56)
  84.  10: 
  85. sendchar(57)
  86.  11: 
  87. sendchar(48)
  88.  12: 
  89. sendchar(45)
  90.  13: 
  91. sendchar(61)
  92.  14: 
  93. sendchar(9)
  94.  15: 
  95. sendchar(113)
  96.  16: 
  97. sendchar(119)
  98.  17: 
  99. sendchar(101)
  100.  18: 
  101. sendchar(114)
  102.  19: 
  103. sendchar(116)
  104.  20: 
  105. sendchar(121)
  106.  21: 
  107. sendchar(117)
  108.  22: 
  109. sendchar(105)
  110.  23: 
  111. sendchar(111)
  112.  24: 
  113. sendchar(112)
  114.  25: 
  115. sendchar(91)
  116.  26: 
  117. sendchar(93)
  118.  27: 
  119. sendchar(92)
  120.  28: 
  121.  29: 
  122. sendchar(97)
  123.  30: 
  124. sendchar(115)
  125.  31: 
  126. sendchar(100)
  127.  32: 
  128. sendchar(102)
  129.  33: 
  130. sendchar(103)
  131.  34: 
  132. sendchar(104)
  133.  35: 
  134. sendchar(106)
  135.  36: 
  136. sendchar(107)
  137.  37: 
  138. sendchar(108)
  139.  38: 
  140. sendchar(59)
  141.  39: 
  142. sendchar(58)
  143.  40: 
  144. sendchar(34)
  145.  41: 
  146. sendchar(13)
  147.  42: 
  148. shift
  149.  43: 
  150. sendchar(122)
  151.  44: 
  152. sendchar(120)
  153.  45: 
  154. sendchar(99)
  155.  46: 
  156. sendchar(118)
  157.  47: 
  158. sendchar(98)
  159.  48: 
  160. sendchar(110)
  161.  49: 
  162. sendchar(109)
  163.  50: 
  164. sendchar(44)
  165.  51: 
  166. sendchar(46)
  167.  52: 
  168. sendchar(47)
  169.  53: 
  170. sendchar(60)
  171.  54: 
  172. sendchar(62)
  173.  55: 
  174. sendchar(63)
  175.  56: 
  176.  57: 
  177.  58: 
  178. sendchar(126)
  179.  59: 
  180. sendchar(33)
  181.  60: 
  182. sendchar(64)
  183.  61: 
  184. sendchar(35)
  185.  62: 
  186. sendchar(36)
  187.  63: 
  188. sendchar(37)
  189.  64: 
  190. sendchar(94)
  191.  65: 
  192. sendchar(38)
  193.  66: 
  194. sendchar(42)
  195.  67: 
  196. sendchar(40)
  197.  68: 
  198. sendchar(41)
  199.  69: 
  200. sendchar(95)
  201.  70: 
  202. sendchar(43)
  203.  71: 
  204. sendchar(163)
  205.  72: 
  206. sendchar(164)
  207.  73: 
  208. sendchar(124)
  209.  74: 
  210. sendchar(123)
  211.  75: 
  212. sendchar(125)
  213.  76: 
  214. sendchar(8)
  215.  77: 
  216. sendchar(&19F)
  217.  78: 
  218. sendchar(&19E)
  219.  79: 
  220. sendchar(&18C)
  221.  80: 
  222. sendchar(&18D)
  223.  81: 
  224. sendchar(&18E)
  225.  82: 
  226. sendchar(&18F)
  227.  83: 
  228. sendchar(32)
  229. opendesk
  230. deskws%!4=600
  231. deskws%!8=600
  232. deskws%!12=900
  233. deskws%!16=900
  234. deskws%!20=0
  235. deskws%!24=-200
  236. deskws%!28=-1
  237.  "Wimp_OpenWindow",,deskws%
  238. mmenu
  239. mtext$="Deskeys,Info,Quit"
  240. drmenu(mtext$)
  241. showmenu(x%,y%,
  242. ,nopt%)
  243. drmenu(text$)
  244. menu%?12=7:menu%?13=2
  245. menu%?14=7:menu%?15=0
  246. menu%!16=140:menu%!20=44
  247. menu%!24=0:ptr%=menu%+28
  248.  $menu%=
  249. text$,
  250. text$,",")-1)
  251. text$+=","
  252. nopts%=0
  253.  text$<>""
  254. "   text$=
  255. text$,
  256. text$,",")+1)
  257.  text$<>"" 
  258.       !ptr%=0:ptr%!4=-1
  259. *      
  260. text$,
  261. text$,",")-1)="Info" 
  262.          ptr%!4=info%
  263.       
  264.       ptr%!8=&7000021
  265. *      $(ptr%+12)=
  266. text$,
  267. text$,",")-1)
  268.       ptr%+=24
  269.       nopts%+=1
  270. ptr%!-24=ptr%!-24 
  271. showmenu(mx%,my%,onbar%,nopt%)
  272.  onbar% 
  273.  ypos%=96+nopts%*44 
  274.  ypos%=y%+20
  275.  "Wimp_CreateMenu",,menu%,x%-64,ypos%
  276. menusel
  277. choice%=!buf%
  278.  choice%=1 
  279.  quit%=
  280.  quit% 
  281.  "Wimp_GetPointerInfo",,buf%
  282.  buf%!8=1 
  283. showmenu(x%,y%,
  284. ,nopts%)
  285. usrmess
  286.  shifton% 
  287.  polldat%!16=5 
  288.  polldat%!40=&2000 
  289. pnt%=44
  290. temp$=""
  291.  polldat%!pnt% <> 0 
  292.  pnt% < 255
  293. %     temp$=temp$+
  294. (polldat%!pnt%)
  295.      pnt%+=1
  296. dir$=temp$
  297. polldat%!12=polldat%!8
  298.  "Wimp_SendMessage",19,polldat%,polldat%!4:
  299.  Grab app run message
  300.  "Filer_OpenDir "+dir$
  301. shift
  302.  shifton% 
  303. shoff 
  304.  capson% 
  305. coff 
  306.  ctrlon% 
  307. cloff 
  308.  alton% 
  309. altoff 
  310. alton
  311. shifton%=
  312. 7*Set Alias$Copy Rename %0 %1|m<Keys$Dir>.Dummy %2|m
  313. shoff
  314. shifton%=
  315. *UnSet Alias$Copy
  316. capson%=
  317. capson%=
  318. cloff
  319. ctrlon%=
  320. ctrlon%=
  321. altoff
  322. alton%=
  323. alton
  324. alton%=
  325. sendchar(char%)
  326.  char% > 96 
  327.  char% < 123 
  328. dospec
  329.  "Wimp_ProcessKey",char%
  330. dospec
  331.  shifton% 
  332.  capson% 
  333.  char%-= 32
  334.  alton%   
  335.  "Wimp_ProcessKey",2
  336.  ctrlon%  
  337.  char%-= 96
  338.